package entidades;

import java.io.Serializable;
import java.util.List;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;

@Entity
public class ListaDeEspera implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @Column(nullable = false)
    private String nombre;
    @Column(nullable = false)
    private Integer numeroPacientes = 0;

    @ManyToMany
    @JoinTable(name = "Tabla_lista_paciente",
            joinColumns =
            @JoinColumn(name = "lista_espera_fk"),
            inverseJoinColumns =
            @JoinColumn(name = "paciente_fk"))
    private List<Paciente> paciente;
    
    public ListaDeEspera() {

    }

    public ListaDeEspera(String no) {
        nombre = no;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public Integer getNumeroPacientes() {
        return numeroPacientes;
    }

    public void setNumeroPacientes(Integer numeroPacientes) {
        this.numeroPacientes = numeroPacientes;
    }

    public List<Paciente> getPaciente() {
        return paciente;
    }

    public void setPaciente(List<Paciente> paciente) {
        this.paciente = paciente;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 73 * hash + Objects.hashCode(this.nombre);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final ListaDeEspera other = (ListaDeEspera) obj;
        if (!Objects.equals(this.nombre, other.nombre)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ListaDeEspera{" + "nombre=" + nombre + ", numeroPacientes=" + numeroPacientes + '}';
    }

}
